1. Field of the Invention
This invention relates to video compression methods and apparatus, in particular in the context of motion vector compensation techniques.
2. Description of the Prior Art
One digital compression standard, known as MPEG, was devised by and named after the Motion Picture Experts Group of the International Standards Organisation (ISO). In one form, known as MPEG1, early versions of the draft standard made use of forward prediction between past and current frames of a video signal. In later forms of MPEG1 and another MPEG2, the standard additionally makes use of bidirectional prediction, namely a combination of forward and backward prediction with the prediction made as an average of the forward and backward predictive frames.
Further details of the various versions of the MPEG standard are described in ISO/IEC 11172-2:1993 (E) "Information Technology--Coding of Moving Pictures and Associated Audio for Digital Storage Media at up to about 1.5 Mbit/s".
The use of motion compensation is an important aspect of MPEG coding. Motion compensation aims to minimise the error signal in difference frames by compensating for inter-frame movement. The process of motion compensation involves two separate processes:
i) Motion Vector Estimation (MVE); in which the motion offset between a frame pair is calculated; and PA1 ii) Motion Vector Compensation (MVC); which uses the results of the MVE calculations to produce a difference signal with minimum artifacts. PA1 i) The type of motion permitted. In MPEG and other similar systems, the type of motion is limited simply to translational vectors in the `X` and `Y` axes. Researchers working in other fields have used other motion types, such as rotation, skew and size. The benefits of this work are not clear since using more complex shape matching may reduce the signal in the difference picture, but requires more data to transmit the shape parameters. PA1 ii) The size of the macroblock is a compromise between smaller blocks having better coding efficiency but higher macroblock data rate, and larger blocks having worse coding efficiency but lower macroblock data rate (where a macroblock is the block size used for motion estimation and compensation). PA1 iii) How to combine the results from Luminance (Y) and Chrominance (C) block matching. If completely separate vectors are used for Y and C motion vectors, the macroblock data rate will be doubled and there may be the possibility of picture disturbances created by poor matching of Y and C vectors. Combining the Y and C vectors will result in a lower macroblock data rate but the coding efficiency may drop slightly. PA1 iv) The use of sub-pixel estimation and compensation. Often, motion between frames does not appear at integer pixel distances so some form of sub-pixel MVE and MVC will be beneficial. More vector data is generated to be transmitted/recorded and the data increase is very small but simple half-pixel estimation requires at least four times the computational power of a pixel based estimator and this must be considered.
There are several aspect of MVE and MVC which must be considered such as:
There is a need for further developments in motion compensation coding with emphasis on low bit-rate systems in the range 64 Kbps to 2 Mbps.
Many motion compensated prediction systems use only luminance information for motion vector generation and compensation. However, there are instances of pictures in which much of the motion detail is present in the chrominance data. In such instances, separate motion vectors may be calculated for luminance and chrominance signals. If the luminance and chrominance pixel rates were identical, then a single motion vector could be calculated for both luminance and chrominance signals. However, the chrominance pixel rate is half the luminance rate in both horizontal and vertical axes.